A network monitoring agent is a software program that can observe, measure, report, and/or analyze characteristics of a network and/or the network's component. Network monitoring agents can be deployed using multitenant software.
In one approach using multitenant software, each network monitoring agent is deployed as a separate virtual machine. However, virtual machines use large amounts of memory, including both random access memory (RAM) and disk space. The individual virtual machines need to be separately managed and maintained (e.g., with system and security updates, software licensing, etc.), which can be costly and burdensome to resources.
In another approach using multitenant software, multiple network monitoring agents are executed by the same machine (virtual or real), without (or with limited) isolation. Although this approach can provide greater efficiency than using separate virtual machines for each network monitoring agent, privacy and security risks result from the lack of isolation. Design of the network monitoring agents becomes complicated in the face of such privacy and security risks. In addition, if a network monitoring agent needs root privileges of a machine on which it is deployed in order to execute and perform its tasks, security can be further compromised in view of other software agents executing on the same machine. The network monitoring agent would then be at risk of malicious actions caused by these other software agents, whether intentional or not.
In addition to the above challenges, procurement of computer resources at distributed locations can be time consuming and costly, particularly when the locations are different geographic locations around the world.
Accordingly, there is a need for a system and method to overcome the aforementioned challenges.